home *** CD-ROM | disk | FTP | other *** search
/ APDL Eductation Resources / APDL Eductation Resources.iso / programs / maths / funcy2 / !Funcy2 / Notes < prev    next >
Encoding:
Text File  |  1994-06-17  |  11.3 KB  |  311 lines

  1.    FUNCY 2: A GRAPH PLOTTING APPLICATION
  2.  
  3. ---- NB THIS APPLICATION IS SHAREWARE -----
  4.  
  5.  
  6. THIS FILE DETAILS REVISION HISTORY, DETAILS OF BUGS AND PLANNED UPDATES
  7.  
  8. SEE !HELP FOR INSTRUCTIONS ON USE AND LICENCE CONDITIONS
  9.  
  10. JUST BECAUSE THIS FILE DOESN'T CONTAIN THE LICENCE CONDITIONS IT DOESN'T
  11. MEAN THERE AREN'T ANY ---- OK?
  12.  
  13. ALSO SEE FILES DIRECTORY INSIDE !FUNCY2 DIRECTORY FOR SOME EXAMPLES
  14.  
  15.  
  16.  ======================  IMPORTANT BIT NUMBER ONE  =======================
  17.  
  18. PLEASE PLEASE PLEASE INFORM ME OF ANY BUGS YOU FIND AND ANY SUGGESTIONS FOR
  19. IMPROVEMENT.  I AM KEEN TO DEVELOP THE PROGRAM FURTHER AND WOULD THEREFORE
  20. INVITE YOU TO BECOME A REGISTERED USER.  I CAN'T PROMISE AN IMMEDIATE UPDATE
  21. (UNLESS THERE'S A REALLY DIRE BUG) BUT THE MORE PEOPLE WHO REGISTER, THE
  22. SOONER I'LL BE ABLE TO AFFORD SOME PRMS AND DO A PROPER JOB (as we say down
  23. here).
  24.  
  25. IF ANYBODY IS USING THIS IN AN EDUCATIONAL ESTABLISHMENT COULD THEY TELL ME
  26. HOW THE SOFTWARE SURVIVES.  I'M ALSO INTERESTED TO KNOW IF IT RUNS ON A
  27. NETWORK.
  28.  
  29. SO...  REPORTS OF BUGS, FAT CHEQUES OR ANY COMMUNICATION REALLY TO
  30.  
  31. RICHARD BLYTHE
  32. 37 WELL WAY
  33. PORTH
  34. NEWQUAY
  35. CORNWALL
  36. TR7 3LS
  37.  
  38.  
  39.  
  40. All files except WimpHeap library copyright (c) 1994 Richard Blythe
  41.  
  42. WimpHeap library is courtesy of Ben Summers and (c) Acorn Computing Magazine
  43. December 1993.  Without WimpHeap this program could not be written so thanks
  44. Ben and thanks Europress for such a good magazine.
  45.                                                          
  46.  
  47.  ======================  IMPORTANT BIT NUMBER TWO  =======================
  48.  
  49. READ IMPORTANT BIT NUMBER ONE AND THE !HELP FILE
  50.  
  51.  
  52.  =====================  IMPORTANT BIT NUMBER THREE  ======================
  53.  
  54.  
  55. Re Newlook vs Oldlook.
  56.  
  57. This application was developed using the NewLook sprites.  When I tried out
  58. the 'OldLook' sprites, they looked a bit odd, so an alternative set of
  59. Templates 'OldLook' is supplied if you need them.  If you do, follow these
  60. instructions:
  61.  
  62. 1)  Shift+Double click on !Funcy2.
  63.  
  64. 2)  Click MENU over the 'Templates' icon.
  65.  
  66. 3)  Move across "File 'Templates'" and down to "Delete" and click with
  67.     SELECT.
  68.  
  69. 4)  Click MENU over the 'OldLook' icon.
  70.  
  71. 5)  Move across "File 'OldLook'" to "Copy" and further to the "Copy" box.
  72.  
  73. 6)  Press CTRL-U and then type 'Templates' and press RETURN
  74.  
  75. 7)  Now run !Funcy2
  76.  
  77. If you ever need the original Newlook templates back then follow the above
  78. procedure highlighting NewLook rather than OldLook.
  79.  
  80.  
  81. UPDATES SO FAR
  82. ==============
  83.  
  84. This is basically the first version of Funcy but you'll have noticed it is
  85. called Funcy 2 so I had better fill you in about version 1 which actually
  86. never got much further than v0.90!
  87.  
  88.  
  89. VERSION 0.90 (Sometime in 1993)
  90.  
  91. Original version of !Funcy.  Terrible user interface, really bad
  92. opton/optoff sprites (pre NewLook), even worse bumper buttons for colour
  93. selection, only 8 plots supported.  HOWEVER it looked quite nice in some
  94. respect as it used lots of outline fonts, which slowed things down nicely as
  95. well though.  Made great use of the WimpExt module which, although it saves
  96. programming time has a few 'features' which annoyed me.  Options such as
  97. zooming never quite got implemented before I started on:
  98.  
  99.  
  100. VERSION 2.00 (Started 20.1.1994 - Completed 13.5.1994)
  101.  
  102. Completely new user interface (still not brilliant but that's something that
  103. I'll sort out in version 3) with lots of panes to allow for many plots. 
  104. Uses all the lovely !NewLook sprites - but see above if you haven't got
  105. !NewLook.
  106.  
  107. Abandoned use of the WimpExt module, partly due to aforementioned features
  108. but also because I felt I was "cheating."  (I do have my pride)
  109.  
  110. (NOTE TO JON RIBBENS AND DOGGYSOFT:  Your WimpExt module is very good in
  111. lots of areas and probably invaluable to machine code programmers but I felt
  112. for this purpose it was not entirely suitable.  This is not a reflection on
  113. your coding, more my personal idiosyncracies!)
  114.  
  115. Support for preset functions with range and user-definable functions added.
  116.  
  117. Greater control over appearance of final graph added with ability to resize
  118. as well as move graph from 'Appearance' window.  Facility to label graphs
  119. added but gets confused with step sizes containing decimals (see later)
  120.  
  121. Ability to do calculus and transformations added - and it worked first time,
  122. ok second time but even so :-)
  123.  
  124. Trace window now has ability to round off position to sensible no of dps or
  125. sfs.  See later for feature info, though :-(
  126.  
  127. Calculation of graphs now done before plot to save time when redrawing
  128. windows (it's still somewhat slow though - see later)
  129.  
  130.  
  131. VERSION 2.01 (21.05.1994)
  132.  
  133. Grid and substitution of functions made more reliable.
  134.  
  135. Function key shortcuts added
  136.  
  137. New file format - saves range and other parameters as well
  138.  
  139.  
  140. VERSION 2.02 (22.05.1994 - rapid updates don't you think?)
  141.  
  142. Graph labelling doesn't muck up rest of desktop when using multiscan
  143. monitor.
  144.  
  145. More sensible spacing in the panes of plot, user, preset and transform
  146. windows.
  147.  
  148. Message_PreQuit now supported.  No more silly 'Are you sure you want to
  149. quit?' windows appearing behind the 'You may now switch off safely' message.
  150. Also won't shutdown system if only doing a 'Task -> Quit' from the Task
  151. Display window (but who ever closes down applications that way anyhow?) 
  152.  
  153.  
  154.  
  155. KNOWN FEATURES (VERY IMPORTANT)
  156. ===============================
  157.  
  158. By now you'll have realised 'feature' is a euphemism for 'bug'.  I'm going
  159. to stick my neck out and say that Funcy 2 is relatively bug-free :-) 
  160. Relative to what is for you to find out and tell me.  The program has
  161. survived my personal use (including checking my A level maths revision when
  162. it comes to differentiating functions like '2sin(x)-3cosec(x)' which my
  163. teacher seems to be keen on) but whether it can survive your use is another
  164. matter (please read licence conditions... I cannot be held responsible for
  165. loss etc nor for incorrect answers in your maths homework!)
  166.  
  167. The things I know about are:
  168.  
  169. rounding off of mouse position in trace window.  Doesn't give quite the
  170. right answer sometimes as decimal points get in the way rather.
  171.  
  172. labelling is a little ugly I think you'll agree.  Nasty rounding can occur
  173. which results in silly labelling appearing.  Also labels can crash into axes
  174. - something I was trying to avoid but this labelling is only an interim
  175. measure as it is.  If you need to have labels, choose fairly round axis step
  176. sizes like 2 or 5
  177.  
  178. windows that you enter functions into may not always be updated properly if
  179. you don't OK them manually before selecting a new function to edit.  (This
  180. is fairly rare)
  181.  
  182. sitting around for hours waiting for the output window to redraw and the
  183. graphs to be calculated.  See main !Help file for hints on how to reduce
  184. this time.
  185.  
  186. if you try to plot functions which map to very large numbers you'll probably
  187. get a 'Number too big' error.  In theory my error trapping should catch this
  188. but it doesn't.  (Occurs with exponential functions with a large domain)
  189.  
  190. lack of support for E notation.  You can't enter Es into numerical fields
  191. (like in the range window) and if you do so in a function definition (either
  192. user or direct plot) you'll either get an undefined function error or if
  193. you've defined a function 'e' this will be evaluated.  For example 2E-6x
  194. will get evaluated as 2*e(-6*x). The trace window doesn't deal with Es very
  195. effectively and who knows what the labelling routine does....  If you MUST
  196. use 'E's (the mathematical function rather than the drug) then do
  197. (2*10^-6)x to achieve 2E-6x.
  198.  
  199. also I don't recommend zooming up or down by more than a factor of 10 - or
  200. you'll have time to boil a kettle, put up some shelves and do that loft
  201. conversion before the screen update is completed.
  202.  
  203. THINGS WHICH ARE NOT MY FAULT
  204.  
  205. Considering this is written in Basic and I have never got closer than 10
  206. metres (sorry 30 feet!) to a Risc Os Programmers Reference Manual I don't
  207. think I've done a bad job actually. (It's also the first release version)
  208.  
  209. However the program relies on the BASIC V rom to do the calculations and
  210. this has a number of 'features' which I didn't know about until I wrote
  211. this.  I may divulge these at a later date but at the moment I feel things
  212. could get a little involved.  Suffice to say if you're really interested,
  213. look at the Presets file in !Edit and try to suss out why the cuberoot
  214. function is defined as it is rather than the more obvious 'x^(1/3)'  If
  215. you're lost by this then the problems caused by the BASIC rom probably won't
  216. concern you EXCEPT for this one...
  217.  
  218. I noticed this when I had an Electron (don't laugh) but it's a problem that
  219. also appears in BASIC V.  For calculation, values are stored as floating
  220. point numbers.  However for input and output in the range window for
  221. example, strings must be used.  The conversion routines supplied by Mr Acorn
  222. in BASIC - STR$ and VAL - do not always return the correct result.  This
  223. manifests itself in 8.4 turning into 8.39999999 for example.  I haven't
  224. investigated BASIC VI to see if it's any better but I am seriously
  225. considering writing my own routine to cope with this.  Whether this will
  226. involve in developing my own way of storing values or my own STR$ and VAL
  227. functions remains to be seen but if I crack it it will be a cry of Eureka I
  228. feel.
  229.  
  230. Anything which doesn't comply to the RISC OS Style Guide is understandable
  231. as I haven't seen it.
  232.  
  233.  
  234. PLANNED UPDATES
  235. ===============
  236.  
  237. In the dim and distant future a version 3 is planned with (guess what) a new
  238. user interface.  I invisage the windows staying roughly the same but a
  239. !Wordz style button-bar to access them rather than this somewhat cumbersome
  240. menu system.
  241.  
  242. But before then:
  243.  
  244. speedier redrawing is my first priority (machine code called for perhaps)
  245.  
  246. curing the inaccurate rounding in the trace window
  247.  
  248. better labelling (using outline fonts rather than the scaled down system
  249. font - yuck yuck yuck)
  250.  
  251. better error trapping
  252.  
  253. scroll bars which do sensible things on zooming
  254.  
  255.  
  256. Also planned:
  257.  
  258. ability to save output as a sprite and possibly even a draw file (will have
  259. to see PRMs first though, hint)
  260.  
  261. Artworks style quality knob where you can decide the threshold for
  262. continuous or discrete plotting
  263.  
  264. better colour selection facilities - like the one in !Draw for example - so
  265. you can select a colour other than the 16 basic Wimp ones
  266.  
  267. print out facilities
  268.  
  269. second and further derivatives and integrals
  270.  
  271. transformations of transformations and calculus functions
  272.  
  273. ability to enter differential equations/plot direction diagrams
  274.  
  275. possibly even parametric formulae or polar graphs (bit ambitious that one I
  276. think) (I hate polar graphs anyway!)
  277.  
  278. plus anything you suggest
  279.  
  280.  
  281.  ======================  IMPORTANT BIT NUMBER ONE =======================
  282.  
  283. PLEASE PLEASE PLEASE INFORM ME OF ANY BUGS YOU FIND AND ANY SUGGESTIONS FOR
  284. IMPROVEMENT.  I AM KEEN TO DEVELOP THE PROGRAM FURTHER AND WOULD THEREFORE
  285. INVITE YOU TO BECOME A REGISTERED USER.  I CAN'T PROMISE AN IMMEDIATE UPDATE
  286. (UNLESS THERE'S A REALLY DIRE BUG) BUT THE MORE PEOPLE WHO REGISTER, THE
  287. SOONER I'LL BE ABLE TO AFFORD SOME PRMS AND DO A PROPER JOB (as we say down
  288. here).
  289.  
  290. IF ANYBODY IS USING THIS IN AN EDUCATIONAL ESTABLISHMENT COULD THEY TELL ME
  291. HOW THE SOFTWARE SURVIVES.  I'M ALSO INTERESTED TO KNOW IF IT RUNS ON A
  292. NETWORK.
  293.  
  294. SO...  REPORTS OF BUGS, FAT CHEQUES OR ANY COMMUNICATION REALLY TO
  295.  
  296. RICHARD BLYTHE
  297. 37 WELL WAY
  298. PORTH
  299. NEWQUAY
  300. CORNWALL
  301. TR7 3LS
  302.  
  303.  
  304.  
  305. All files except WimpHeap library copyright (c) 1994 Richard Blythe
  306.  
  307. WimpHeap library is courtesy of Ben Summers and (c) Acorn Computing Magazine
  308. December 1993.  Without WimpHeap this program could not be written so thanks
  309. Ben and thanks Europress for such a good magazine.
  310.  
  311.